লারাভেল (Laravel) একটি শক্তিশালী PHP ফ্রেমওয়ার্ক যা ডেভেলপারদের জন্য বিল্ট-ইন অথেন্টিকেশন (Authentication) সিস্টেম সরবরাহ করে। এটি ব্যবহারকারীদের অ্যাপ্লিকেশনে লগইন, রেজিস্টার, পাসওয়ার্ড রিসেট, লগআউট ইত্যাদি কার্যক্রম পরিচালনা করতে সহজ এবং সুরক্ষিত উপায় প্রদান করে। লারাভেল অথেন্টিকেশন ব্যবস্থার মাধ্যমে আপনি খুব দ্রুত নিরাপদ অথেন্টিকেশন সিস্টেম তৈরি করতে পারেন।
লারাভেল অথেন্টিকেশন হল একটি প্রক্রিয়া যা ব্যবহারকারীদের অ্যাপ্লিকেশন বা ওয়েবসাইটে প্রবেশের অনুমতি দেয়। এটি সাধারণত লগইন, রেজিস্টার, পাসওয়ার্ড রিসেট এবং ব্যবহারকারীর সেশন পরিচালনা করে। লারাভেল ডেভেলপারদের জন্য এই কার্যক্রমগুলো সহজভাবে এবং সুরক্ষিতভাবে পরিচালনার জন্য একটি প্রস্তুত সিস্টেম প্রদান করে।
লারাভেল অথেন্টিকেশন সিস্টেম সাধারণত কয়েকটি প্রধান অংশে বিভক্ত:
লারাভেল অথেন্টিকেশন ব্যবস্থাটি খুব সহজে চালু করা যায়। এটি শুধু কয়েকটি কমান্ডের মাধ্যমে সক্রিয় করা সম্ভব।
লারাভেলে বিল্ট-ইন অথেন্টিকেশন স্ক্যাফোল্ডিং সরাসরি চালু করার জন্য আপনি laravel/ui
প্যাকেজ ব্যবহার করতে পারেন। এটি ইনস্টল করতে প্রথমে নিচের কমান্ডটি চালান:
composer require laravel/ui
php artisan ui bootstrap --auth
এটি প্রাথমিকভাবে রেজিস্টার, লগইন এবং অন্যান্য প্রয়োজনীয় রাউট, ভিউ, কন্ট্রোলার, এবং মডেল তৈরি করবে।
লারাভেল অথেন্টিকেশনের জন্য একটি users
টেবিল প্রয়োজন, যাতে ব্যবহারকারীদের তথ্য রাখা হয়। এই টেবিলটি তৈরি করতে migrate
কমান্ড চালান:
php artisan migrate
এটি ডাটাবেসে প্রয়োজনীয় টেবিল তৈরি করবে।
/register
এবং /login
রাউটগুলি আপনার অ্যাপ্লিকেশনে স্বয়ংক্রিয়ভাবে কাজ করবে, যা আপনাকে ব্যবহারকারীদের রেজিস্টার এবং লগইন করার সুযোগ দেবে। ব্যবহারকারী রেজিস্টার হলে, তার তথ্য ডাটাবেসে সেভ হয়ে যাবে, এবং লগইন করলে ব্যবহারকারী একটি সেশন তৈরি হবে।
যদি আপনি কাস্টম অথেন্টিকেশন কন্ট্রোলার তৈরি করতে চান, তবে php artisan make:controller
কমান্ড ব্যবহার করতে পারেন। উদাহরণস্বরূপ:
php artisan make:controller Auth/LoginController
এই কন্ট্রোলারের মধ্যে আপনি কাস্টম লজিক যেমন, লগইন ফর্ম ভ্যালিডেশন, পাসওয়ার্ড চেক ইত্যাদি রাখতে পারবেন।
লারাভেল পাসওয়ার্ড রিসেট ফিচার বিল্ট-ইন সরবরাহ করে, যা ব্যবহারকারীরা ভুল পাসওয়ার্ড দিলে তাদের নতুন পাসওয়ার্ড সেট করতে সহায়তা করে। পাসওয়ার্ড রিসেট ফিচার ব্যবহারের জন্য আপনি Password
ফ্যাসাড ব্যবহার করতে পারেন।
আপনি password/reset
রাউটের মাধ্যমে পাসওয়ার্ড রিসেট ফিচারটি ব্যবহার করতে পারবেন। রিসেট প্রক্রিয়া শুরু করতে, ব্যবহারকারীর ইমেইল ঠিকানা পাঠাতে হবে এবং তারপর একটি রিসেট লিংক পাঠানো হবে।
use Illuminate\Support\Facades\Password;
Password::sendResetLink(['email' => $request->email]);
লারাভেল আপনাকে auth
মিডলওয়ার ব্যবহার করার মাধ্যমে প্রমাণিত (authenticated) ব্যবহারকারীদের অ্যাক্সেস কন্ট্রোল করতে দেয়। উদাহরণস্বরূপ, যদি আপনি চান যে শুধু লগইন করা ব্যবহারকারীরাই নির্দিষ্ট পেইজে প্রবেশ করতে পারে, তবে মিডলওয়ার ব্যবহার করতে হবে:
Route::get('/dashboard', function () {
// কন্টেন্ট
})->middleware('auth');
এটি নিশ্চিত করবে যে শুধুমাত্র প্রমাণিত ব্যবহারকারীরা ড্যাশবোর্ডে প্রবেশ করতে পারবেন।
লারাভেল আপনাকে কাস্টম অথেন্টিকেশন গার্ড তৈরি করারও সুযোগ দেয়। যদি আপনার অ্যাপ্লিকেশনে একাধিক অথেন্টিকেশন পদ্ধতি থাকে, যেমন API বা এক্সটার্নাল সার্ভিস, তবে আপনি কাস্টম গার্ড তৈরি করতে পারেন।
config/auth.php
ফাইলে আপনি গার্ড কনফিগার করতে পারেন।
লারাভেল অথেন্টিকেশন সিস্টেম ব্যবহারকারী ব্যবস্থাপনা এবং নিরাপত্তা নিশ্চিত করার একটি শক্তিশালী পদ্ধতি। এর মাধ্যমে আপনি সহজেই লগইন, রেজিস্টার, পাসওয়ার্ড রিসেট এবং লগআউট কার্যক্রম পরিচালনা করতে পারেন। লারাভেল আপনাকে কাস্টম অথেন্টিকেশন ব্যবস্থাও তৈরি করার সুযোগ দেয়, যাতে আপনার অ্যাপ্লিকেশন আরও নিরাপদ এবং নমনীয় হয়।